package com.nervenets.general.annotation;

import java.lang.annotation.*;

import com.nervenets.general.enumeration.LimitType;

/**
 * 客户端请求某个接口，在同time时间内，只能请求成功count次。
 *
 * @author Joe
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface RateLimiter {
    /**
     * 限流时间,单位秒
     */
    int time() default 60;

    /**
     * 限流次数
     */
    int total() default 100;

    /**
     * 限流类型
     */
    LimitType limitType() default LimitType.DEFAULT;

    /**
     * 提示消息
     */
    String message() default "";
}
